The present invention relates generally to a system and method for providing media and telephony services in a telecommunications network and, more particularly, to an abstract interface for providing applications access to media and telephony services in a distributed computing environment.
The demand for advanced telephony applications in telecommunications networks has grown significantly during the past few years. The area of media and telephony applications, also referred to as computer telephony, includes a wide variety of application-specific devices, many of which have proprietary implementations. A diverse group of vendors develops, sells, and supports devices such as interactive voice response (IVR) systems, voice mail systems, e-mail gateways, fax servers, and automatic call distributors (ACDs). Many of these applications use emerging technologies such as voice compression and expansion, text-to-speech translation, automatic speech recognition, and facsimile-to-text translation.
As telephony applications have become more numerous and complex, interoperability problems have arisen. Further, it is difficult to develop integrated applications that combine features of different application-specific devices because they are developed by different vendors and often use proprietary software. Thus, a need arose for a framework for developing telephony applications in which vendors agree on certain aspects of implementation to allow interoperability of products and software. In response to this need, the Enterprise Computer Telephony Forum (ECTF) has defined such a framework. The ECTF framework provides the ability for computer telephony applications to share media resources (e.g., voice recognition). The ECTF has specified several application program interfaces (APIs), including S. 100, which defines an interface between a media server and computer telephony applications.
Media servers compliant with the ECTF S.100 API provide a means for developing computer telephony applications in an open client-server environment with shared resources. The S.100 API is a hardware-independent and operating system-independent API. However, the S.100 API, based on the C programming language, is a language dependent interface, which makes S.100 ultimately dependent on the platform used. Also, current system architectures for providing telephony services do not take full advantage of object-oriented programming methods or use distributed processing, thus making it more difficult to extend architectures to include new components. Furthermore, current system architectures with distributed components utilize proprietary protocols.
A method consistent with the present invention provides access from a the client to a resource coupled to a server by transmitting from the client to the server an object-oriented, language-independent request to establish a session between the client and the server; transmitting from the client to the server an object-oriented, language-independent request to establish a group containing the resource, the group corresponding to the session; and transmitting from the client to the server an object-oriented, language-independent request to invoke a function on the,resource. A method consistent with the present invention further sets a parameter corresponding to the session for determining event callback behavior. A method consistent with the present invention further sets a parameter corresponding to the session for determining whether an event will be created.
A client consistent with the present invention comprises means for transmitting to a server an object-oriented, language-independent request to establish a session between the client and the server, means for transmitting to the server an object-oriented, language-independent request to establish a group containing a resource, coupled to the server, the group corresponding to the session, and means for transmitting to the server an object-oriented, language-independent request to invoke a function on the resource.
Additional features and advantages of the present invention will be readily appreciated by one of ordinary skill in the art from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings.